#include <iostream>

class Test
{
public:
    Test()
    {
        a++;
    }

    ~Test()
    {
        a--;
    }
    void show()
    {
        std::cout<<"hello\n";
    }
    //静态成员函数:不属于某一个特定对象，属于整个类
    //没有this指针 不能访问普通成员变量 可以访问静态成员变量
    static void func()
    {
        std::cout<<"helloworld\n";
    }
public:
    static int a;//静态成员变量：不属于某一个特定对象，属于整个类(被所有对象共享)
    int b;
};

//在类外初始化静态成员变量
int Test::a = 0;

int main()
{
    // Test *t = new Test;
    // Test *b = new Test;
    // std::cout<<t->a<<std::endl;
    // delete t;
    // //由类访问成员变量
    // std::cout<<Test::a<<std::endl;
    Test::func();
    //Test::show();
    Test t;
    t.func();
    t.show();

    return 0;
}